#ifndef _SE_IMGUIAPI_
#define _SE_IMGUIAPI_

#include "ImGui/ImGuiContext.h"

namespace SE
{
	class ImGuiAPI final
	{
	private:
		Weak<ImGuiContext> mCurrentContext;

	public:
		ImGuiAPI();
		~ImGuiAPI();

		static Ref<ImGuiContext> CreateContext();
		static void DestoryContext(const Ref<ImGuiContext>& context);

		static Ref<ImGuiAPI> Create();

	public:
		static void MakeContextCurrent(const Ref<ImGuiContext>& context);

		static void RenderBegin();
		static void RenderEnd();
	};
}

#endif // !_SE_IMGUIAPI_